package com.itheima.ydd.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
@TableName("sys_menu")
public class SysMenu implements Serializable {
  private static final long serialVersionUID = 001L;

  /**
   * 编号
   */
  @TableId(value = "id", type = IdType.AUTO)
  private Integer id;
  /**
   * 父级编号
   */
  private Integer pid;
  /**
   * 路由名称
   */
  private String path;
  /**
   * 组件路径
   */
  private String component;
  /**
   * 菜单名称
   */
  private String title;
  /**
   * 图标
   */
  private String icon;
  /**
   * 是否在菜单中显示，0不显示，1显示
   */
  @TableField("is_show")
  private Integer isShow;
  /**
   * 是否缓存，0否，1是
   */
  @TableField("is_cache")
  private Integer isCache;
  /**
   * 是否外联，0否，1是
   */
  @TableField("is_link")
  private Integer isLink;
  /**
   * 重定向地址
   */
  private String redirect;
  /**
   * 创建时间--自动填充
   */

  @TableField(value = "create_date",fill = FieldFill.INSERT)
  private LocalDateTime create_date;
  /**
   * 更新时间--自动填充
   */
  @TableField(value ="update_date", fill = FieldFill.INSERT_UPDATE)
  private LocalDateTime update_date;
  /**
   *删除标记---逻辑删除字段
   * 默认0是未删除, 那设置1为已删除
   */
  @TableField("del_flag")
  @TableLogic(value = "0",delval = "1")
  private Integer delFlag;
  /**
   *类型，1是菜单，2按钮
   */
  private Integer type;
  /**
   *排序
   */
  private double sort;
  /**
   *权限标识
   */
  private String mark;
  /**
   *是否为默认数据，null表示不是，1表示是
   */
  @TableField("default_data")
  private String defaultData;







}
